package KK.Data
{
	import KK.System.ApplicationManager;

	public class Config
	{
		static private var  _KingExp:Array;//君主经验信息
		static private var _Face:Array;//形象 
		static private var _BuildUpgrader:Array;//建筑 
		
		
		static private function initConfigClassVector():Vector.<String>{
			var result:Vector.<String>=new  Vector.<String>();
			result.push("data.json::JsonKingExpConfig");
			result.push("data.json::JsonFaceConfig");
			result.push("data.json::JsonBuildingUpgrade");
			return result;
		}
		static private const ConfigClassVector:Vector.<String>=initConfigClassVector();
		

		/**
		 * 初始化config 
		 * 
		 */
		static public function InitConfig():void{
			_KingExp=GetData(ConfigClassVector[0]);
			_Face=GetData(ConfigClassVector[1]);
			_BuildUpgrader=GetData(ConfigClassVector[2]);
			
		}
		/**
		 * 获取数据  
		 * @param str
		 * @return 
		 * 
		 */
		static public function GetData(str:String):Array{
			var result:Array;
			var StaticClass:Class=ApplicationManager.GetClass(str);
			if(StaticClass){
				result=StaticClass.Data;
			}else{
				LogInfo("加载 : "+str+",Config失败 . ");
			}
			return result;
		}
		
		/**
		 * 获取建筑升级信息  
		 * @return 
		 * 
		 */
		static public function get CF_BuildUpgrader():Array{
			return _BuildUpgrader;
		}
		/**
		 * 君主经验 
		 * @return 
		 * 
		 */
		static public function get CF_KingExp():Array{
			return _KingExp;
		}
		
		/**
		 *  返回君主形象 
		 * @return 
		 * 
		 */
		static public function get CF_Face():Array{
			return _Face;
		}
	}
}